#!/bin/make

LD=$(CROSS_COMPILE)gcc
CC=$(CROSS_COMPILE)gcc


INCL = \
		-I ./ \
		-I ./CRYS/inc \
		-I ./SEPDriver/inc \
		-I ./VOS/inc \
		-I ./VOS_API/ \
		-I ./FVOS/inc \
		-I ./GEN/inc \
		-I ./MNG/inc

CRYS_FLAGS= \
		-DLITTLE__ENDIAN \
		-DCRYS_NO_DES_SUPPORT \
		-DCRYS_NO_RC4_SUPPORT \
		-DCRYS_NO_ECPKI_SUPPORT \
		-DCRYS_NO_SST_SUPPORT \
		-DCRYS_NO_KMNG_SUPPORT \
		-DCRYS_NO_EXT_IF_MODE_SUPPORT

LDFLAGS = 
CCFLAGS = -O0 -c -DHASLONGLONG -g3 $(INCL) $(CRYS_FLAGS)
BUILD_OBJS = \
		daemon.o \
		CRYS_HASH.o \
		CRYS_RSA_Verify.o \
		CRYS_RSA_BUILD.o \
		SEPDriver.o \
		MNG_Functions.o \
		FVOS.o \
		dx_vos_mem.o \
		dx_vos_file.o \
		DX_VOS_Stdio.o \
		DX_VOS_Time.o \
		DX_VOS_Utils.o \
		dx_vos_string.o \
		DX_VOS_DbgPrint.o \
		DX_VOS_Errors.o \
		DX_VOS_ThreadStorage.o \
		DX_VOS_TimeUtils.o \
		DX_VOS_BaseStdio.o \
		DX_VOS_BaseFile.o \
		DX_VOS_BaseTime.o \
		DX_VOS_BaseSem.o \
		DX_VOS_BaseMobileUtils.o \
		DX_VOS_BaseThread.o \

TARGET = dx_daemon.out

OBJS = $(BUILD_OBJS)
all: $(TARGET)

rebuild: clean all

clean:
	@echo "removing all kinds of junk...."
	@rm -f *.o
	@rm -f *.out

$(TARGET): $(OBJS)
	$(LD) $(OBJS) $(LDFLAGS) -o $(TARGET)

daemon.o: ./daemon.c
	$(CC) -c $(CCFLAGS) $< -o $@

CRYS_HASH.o: ./CRYS/src/CRYS_HASH.c
	$(CC) -c $(CCFLAGS) $< -o $@

CRYS_RSA_Verify.o: ./CRYS/src/CRYS_RSA_Verify.c
	$(CC) -c $(CCFLAGS) $< -o $@

CRYS_RSA_BUILD.o: ./CRYS/src/CRYS_RSA_BUILD.c
	$(CC) -c $(CCFLAGS) $< -o $@

SEPDriver.o: ./SEPDriver/src/SEPDriver.c
	$(CC) -c $(CCFLAGS) $< -o $@

MNG_Functions.o: ./MNG/src/MNG_Functions.c
	$(CC) -c $(CCFLAGS) $< -o $@

FVOS.o: ./FVOS/src/FVOS.c
	$(CC) -c $(CCFLAGS) $< -o $@

dx_vos_mem.o: ./VOS/src/dx_vos_mem.c
	$(CC) -c $(CCFLAGS) $< -o $@

dx_vos_file.o: ./VOS/src/dx_vos_file.c
	$(CC) -c $(CCFLAGS) $< -o $@

DX_VOS_Stdio.o: ./VOS/src/DX_VOS_Stdio.c
	$(CC) -c $(CCFLAGS) $< -o $@

DX_VOS_Time.o: ./VOS/src/DX_VOS_Time.c
	$(CC) -c $(CCFLAGS) $< -o $@

DX_VOS_Utils.o: ./VOS/src/DX_VOS_Utils.c
	$(CC) -c $(CCFLAGS) $< -o $@

dx_vos_string.o: ./VOS/src/dx_vos_string.c
	$(CC) -c $(CCFLAGS) $< -o $@

DX_VOS_DbgPrint.o: ./VOS/src/DX_VOS_DbgPrint.c
	$(CC) -c $(CCFLAGS) $< -o $@

DX_VOS_Errors.o: ./VOS/src/DX_VOS_Errors.c
	$(CC) -c $(CCFLAGS) $< -o $@

DX_VOS_ThreadStorage.o: ./VOS/src/DX_VOS_ThreadStorage.c
	$(CC) -c $(CCFLAGS) $< -o $@

DX_VOS_TimeUtils.o: ./VOS/src/DX_VOS_TimeUtils.c
	$(CC) -c $(CCFLAGS) $< -o $@

DX_VOS_BaseStdio.o: ./VOS/src/DX_VOS_BaseStdio.c
	$(CC) -c $(CCFLAGS) $< -o $@

DX_VOS_BaseFile.o: ./VOS/src/DX_VOS_BaseFile.c
	$(CC) -c $(CCFLAGS) $< -o $@

DX_VOS_BaseTime.o: ./VOS/src/DX_VOS_BaseTime.c
	$(CC) -c $(CCFLAGS) $< -o $@

DX_VOS_BaseSem.o: ./VOS/src/DX_VOS_BaseSem.c
	$(CC) -c $(CCFLAGS) $< -o $@

DX_VOS_BaseMobileUtils.o: ./VOS/src/DX_VOS_BaseMobileUtils.c
	$(CC) -c $(CCFLAGS) $< -o $@

DX_VOS_BaseThread.o: ./VOS/src/DX_VOS_BaseThread.c
	$(CC) -c $(CCFLAGS) $< -o $@
